package org.cs.publics.model;
// Generated 2018-12-28 17:39:08 by Hibernate Tools 5.2.3.Final

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * 用户信息表
 */

/**
 * UserInfo generated by hbm2java
 */
@Entity
@Table(name = "user_info", catalog = "good_fresh")
public class UserInfo implements java.io.Serializable {

	private Integer userInfoId;
	private String userInfoName;
	private String userInfoImage;
	private Date createTime;
	private Date updateTime;
	private String goodsHoldOne;
	private String goodsHoldTwo;
	private Set<GroupUser> groupUsers = new HashSet<GroupUser>(0);
	private Set<UserComment> userComments = new HashSet<UserComment>(0);
	private Set<Discount> discounts = new HashSet<Discount>(0);
	private Set<PickGoods> pickGoodses = new HashSet<PickGoods>(0);
	private Set<ExtractMonery> extractMoneries = new HashSet<ExtractMonery>(0);
	private Set<UserRecharge> userRecharges = new HashSet<UserRecharge>(0);
	private Set<BindCard> bindCards = new HashSet<BindCard>(0);
	private Set<PickApply> pickApplies = new HashSet<PickApply>(0);

	public UserInfo() {
	}

	public UserInfo(String userInfoName, String userInfoImage, Date createTime, Date updateTime, String goodsHoldOne,
			String goodsHoldTwo, Set<GroupUser> groupUsers, Set<UserComment> userComments, Set<Discount> discounts,
			Set<PickGoods> pickGoodses, Set<ExtractMonery> extractMoneries, Set<UserRecharge> userRecharges,
			Set<BindCard> bindCards, Set<PickApply> pickApplies) {
		this.userInfoName = userInfoName;
		this.userInfoImage = userInfoImage;
		this.createTime = createTime;
		this.updateTime = updateTime;
		this.goodsHoldOne = goodsHoldOne;
		this.goodsHoldTwo = goodsHoldTwo;
		this.groupUsers = groupUsers;
		this.userComments = userComments;
		this.discounts = discounts;
		this.pickGoodses = pickGoodses;
		this.extractMoneries = extractMoneries;
		this.userRecharges = userRecharges;
		this.bindCards = bindCards;
		this.pickApplies = pickApplies;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)

	@Column(name = "USER_INFO_ID", unique = true, nullable = false)
	public Integer getUserInfoId() {
		return this.userInfoId;
	}

	public void setUserInfoId(Integer userInfoId) {
		this.userInfoId = userInfoId;
	}

	@Column(name = "USER_INFO_NAME", length = 25)
	public String getUserInfoName() {
		return this.userInfoName;
	}

	public void setUserInfoName(String userInfoName) {
		this.userInfoName = userInfoName;
	}

	@Column(name = "USER_INFO_IMAGE", length = 50)
	public String getUserInfoImage() {
		return this.userInfoImage;
	}

	public void setUserInfoImage(String userInfoImage) {
		this.userInfoImage = userInfoImage;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "CREATE_TIME", length = 19)
	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "UPDATE_TIME", length = 19)
	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Column(name = "GOODS_HOLD_ONE", length = 25)
	public String getGoodsHoldOne() {
		return this.goodsHoldOne;
	}

	public void setGoodsHoldOne(String goodsHoldOne) {
		this.goodsHoldOne = goodsHoldOne;
	}

	@Column(name = "GOODS_HOLD_TWO", length = 25)
	public String getGoodsHoldTwo() {
		return this.goodsHoldTwo;
	}

	public void setGoodsHoldTwo(String goodsHoldTwo) {
		this.goodsHoldTwo = goodsHoldTwo;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<GroupUser> getGroupUsers() {
		return this.groupUsers;
	}

	public void setGroupUsers(Set<GroupUser> groupUsers) {
		this.groupUsers = groupUsers;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<UserComment> getUserComments() {
		return this.userComments;
	}

	public void setUserComments(Set<UserComment> userComments) {
		this.userComments = userComments;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<Discount> getDiscounts() {
		return this.discounts;
	}

	public void setDiscounts(Set<Discount> discounts) {
		this.discounts = discounts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<PickGoods> getPickGoodses() {
		return this.pickGoodses;
	}

	public void setPickGoodses(Set<PickGoods> pickGoodses) {
		this.pickGoodses = pickGoodses;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<ExtractMonery> getExtractMoneries() {
		return this.extractMoneries;
	}

	public void setExtractMoneries(Set<ExtractMonery> extractMoneries) {
		this.extractMoneries = extractMoneries;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<UserRecharge> getUserRecharges() {
		return this.userRecharges;
	}

	public void setUserRecharges(Set<UserRecharge> userRecharges) {
		this.userRecharges = userRecharges;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<BindCard> getBindCards() {
		return this.bindCards;
	}

	public void setBindCards(Set<BindCard> bindCards) {
		this.bindCards = bindCards;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "userInfo")
	public Set<PickApply> getPickApplies() {
		return this.pickApplies;
	}

	public void setPickApplies(Set<PickApply> pickApplies) {
		this.pickApplies = pickApplies;
	}

}
